package com.moli.iov.protocol.model;


import java.io.Serializable;
import java.util.Arrays;

import com.moli.iov.protocol.enums.SamplingStateTag;


/**
 * 参数值 报文实体
 * 
 * @ClassName ParamValueVo
 * @author liweisong
 * @Date 2017年5月24日 上午9:23:42
 */
public class ParamValueVo implements Serializable {

    /** 
     */
    private static final long serialVersionUID = 1L;

    /**
     * 车载终端本地存储时间周期
     */
    public Integer terminalStroageCycle;
    /**
     * 正常时，信息上报时间间隔
     */
    public Integer infomationReportCycle;
    /**
     * 出现报警时，信息上报时间周期
     */
    public Integer alarmReportCycle;
    /**
     * 远程服务与管理平台域名长度N
     */
    public Integer remoteServiceDomainLen;
    /**
     * 远程服务与管理平台域名
     */
    public String remoteServiceDomainName;
    /**
     * 远程服务与管理平台端口
     */
    public Integer remoteServiceDomainPort;
    /**
     * 硬件版本，车载终端厂商自行定义
     */
    public String hardwortVersion;
    /**
     * 固件版本，车载终端厂商自行定义
     */
    public String firmwareVersion;
    /**
     * 车载终端心跳发送周期
     */
    public Integer terminalHeartCycle;
    /**
     * 终端应答超时时间
     */
    public Integer terminalAnswerTimeOut;
    /**
     * 平台应答超时时间
     */
    public Integer platformAnswerTimeOut;
    /**
     * 连续三次登入失败后，到下一次登入的间隔时间
     */
    public Integer loginOutFailInteval;
    /**
     * 公共平台域名长度N
     */
    public Integer publicPlatformDomainLen;
    /**
     * 公共平台域名
     */
    public String publicPlatformDomainName;
    /**
     * 公共平台端口
     */
    public Integer publicPlatformDomainPort;
    /**
     * 是否处于抽样监测
     */
    public SamplingStateTag isMonitor;

    public Integer getTerminalStroageCycle() {
        return terminalStroageCycle;
    }

    public void setTerminalStroageCycle(Integer terminalStroageCycle) {
        this.terminalStroageCycle = terminalStroageCycle;
    }

    public Integer getInfomationReportCycle() {
        return infomationReportCycle;
    }

    public void setInfomationReportCycle(Integer infomationReportCycle) {
        this.infomationReportCycle = infomationReportCycle;
    }

    public Integer getAlarmReportCycle() {
        return alarmReportCycle;
    }

    public void setAlarmReportCycle(Integer alarmReportCycle) {
        this.alarmReportCycle = alarmReportCycle;
    }

    public Integer getRemoteServiceDomainLen() {
        return remoteServiceDomainLen;
    }

    public void setRemoteServiceDomainLen(Integer remoteServiceDomainLen) {
        this.remoteServiceDomainLen = remoteServiceDomainLen;
    }

    public String getRemoteServiceDomainName() {
        return remoteServiceDomainName;
    }

    public void setRemoteServiceDomainName(String remoteServiceDomainName) {
        this.remoteServiceDomainName = remoteServiceDomainName;
    }

    public Integer getRemoteServiceDomainPort() {
        return remoteServiceDomainPort;
    }

    public void setRemoteServiceDomainPort(Integer remoteServiceDomainPort) {
        this.remoteServiceDomainPort = remoteServiceDomainPort;
    }

    public String getHardwortVersion() {
        return hardwortVersion;
    }

    public void setHardwortVersion(String hardwortVersion) {
        this.hardwortVersion = hardwortVersion;
    }

    public String getFirmwareVersion() {
        return firmwareVersion;
    }

    public void setFirmwareVersion(String firmwareVersion) {
        this.firmwareVersion = firmwareVersion;
    }

    public Integer getTerminalHeartCycle() {
        return terminalHeartCycle;
    }

    public void setTerminalHeartCycle(Integer terminalHeartCycle) {
        this.terminalHeartCycle = terminalHeartCycle;
    }

    public Integer getTerminalAnswerTimeOut() {
        return terminalAnswerTimeOut;
    }

    public void setTerminalAnswerTimeOut(Integer terminalAnswerTimeOut) {
        this.terminalAnswerTimeOut = terminalAnswerTimeOut;
    }

    public Integer getPlatformAnswerTimeOut() {
        return platformAnswerTimeOut;
    }

    public void setPlatformAnswerTimeOut(Integer platformAnswerTimeOut) {
        this.platformAnswerTimeOut = platformAnswerTimeOut;
    }

    public Integer getLoginOutFailInteval() {
        return loginOutFailInteval;
    }

    public void setLoginOutFailInteval(Integer loginOutFailInteval) {
        this.loginOutFailInteval = loginOutFailInteval;
    }

    public Integer getPublicPlatformDomainLen() {
        return publicPlatformDomainLen;
    }

    public void setPublicPlatformDomainLen(Integer publicPlatformDomainLen) {
        this.publicPlatformDomainLen = publicPlatformDomainLen;
    }

    public String getPublicPlatformDomainName() {
        return publicPlatformDomainName;
    }

    public void setPublicPlatformDomainName(String publicPlatformDomainName) {
        this.publicPlatformDomainName = publicPlatformDomainName;
    }

    public Integer getPublicPlatformDomainPort() {
        return publicPlatformDomainPort;
    }

    public void setPublicPlatformDomainPort(Integer publicPlatformDomainPort) {
        this.publicPlatformDomainPort = publicPlatformDomainPort;
    }

    public SamplingStateTag getIsMonitor() {
        return isMonitor;
    }

    public void setIsMonitor(SamplingStateTag isMonitor) {
        this.isMonitor = isMonitor;
    }

    /**
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("ParamValueVo对象-->{");
        builder.append("\r\n");
        builder.append("车载终端本地存储时间周期(ms)=" + terminalStroageCycle);
        builder.append("\r\n");
        builder.append("正常时，信息上报时间间隔(s)=");
        builder.append(infomationReportCycle);
        builder.append("\r\n");
        builder.append("出现报警时，信息上报时间周期(ms)=");
        builder.append(alarmReportCycle);
        builder.append("\r\n");
        builder.append("远程服务与管理平台域名长度=");
        builder.append(remoteServiceDomainLen);
        builder.append("\r\n");
        builder.append("远程服务与管理平台域名=");
        builder.append(remoteServiceDomainName);
        builder.append("\r\n");
        builder.append("远程服务与管理平台端口=");
        builder.append(remoteServiceDomainPort);
        builder.append("\r\n");
        builder.append("硬件版本，车载终端厂商自行定义=");
        builder.append(hardwortVersion);
        builder.append("\r\n");
        builder.append("固件版本，车载终端厂商自行定义=");
        builder.append(firmwareVersion);
        builder.append("\r\n");
        builder.append("车载终端心跳发送周期(s)=");
        builder.append(terminalHeartCycle);
        builder.append("\r\n");
        builder.append("终端应答超时时间(s)=");
        builder.append(terminalAnswerTimeOut);
        builder.append("\r\n");
        builder.append("平台应答超时时间(s)=");
        builder.append(platformAnswerTimeOut);
        builder.append("\r\n");
        builder.append("连续三次登入失败后，到下一次登入的间隔时间(min)=");
        builder.append(loginOutFailInteval);
        builder.append("\r\n");
        builder.append("公共平台域名长度N=");
        builder.append(publicPlatformDomainLen);
        builder.append("\r\n");
        builder.append("公共平台域名=");
        builder.append(publicPlatformDomainName);
        builder.append("\r\n");
        builder.append("公共平台端口=");
        builder.append(publicPlatformDomainPort);
        builder.append("\r\n");
        builder.append("是否处于抽样监测=");
        builder.append(isMonitor);
        builder.append("\r\n");
        builder.append("}");
        return builder.toString();
    }

}
